import requests
import hashlib # 哈希


def make_md5(text):
    # 创建一个 md5加密工具
    m = hashlib.md5()
    m.update(str(text).encode(encoding='utf-8'))
    res = m.hexdigest()  # 生成加密后的内容
    return res

s = requests.session() # 创建会话
url = 'http://114.132.200.42:3456/user/login'
data = {
    "username": "myon123123",
    "password": make_md5('youmu123'),
    "checkcode": "1234"
}
res = s.post(url=url, data=data)  # 发送请求
print(res.json())
print(res.status_code)

res1 = res.json()
print(res1['userId'], res1['userToken'])
# 拿到用户id与token
getuserid = res1['userId']
getusertoken = res1['userToken']

# 创建任务
CreateUrl = 'http://114.132.200.42:3456/task/info'
mydata = {"title": "任务121312"}
# 头部信息 同样也以字典的形式 存储
hd = {"userId": getuserid, "userToken": getusertoken}
# 以json的形式发送请求参数，只需要将参数名data改为json


res = s.post(url=CreateUrl, data=mydata, headers=hd)  # headers 参数 表示 头部信息
print(res.json())

# 查询任务 get请求
GetUrl = 'http://114.132.200.42:3456/task/info'
mydata = {"status": "0"}
res = s.get(url=GetUrl, headers=hd, params=mydata) # get请求 params 参数 表示 请求数据
print(res.json())


# 文件上传
imgUrl = 'http://114.132.200.42:3456/user/uploal_action'
# ('参数名', ('文件名', open('文件路径', 'rb')))
myimg = [
    ('pic',('123.png', open('123.png','rb')))
]
res8 = s.post(url=imgUrl,headers=hd,files=myimg) # 关于文件上传的接口 files 表示
print(res8.json())